import request from '@/utils/request'

/**
 * 用户登录
 * @param {Object} data - { username, password }
 */
export function login(data) {
    return request({
        url: '/user/login',
        method: 'post',
        data
    })
}

/**
 * 初始化密码（仅管理员可用）
 * @param {Object} data - { username, newPassword }
 */
export function initPassword(data) {
    return request({
        url: '/user/init-password',
        method: 'post',
        data
    })
}

/**
 * 修改密码
 * @param {Object} data - { username, password, newPassword }
 */
export function changePassword(data) {
    return request({
        url: '/user/password',
        method: 'post',
        data
    })
}

/**
 * 新增或更新用户
 * @param {Object} data - User 对象
 */
export function saveUser(data) {
    return request({
        url: '/user',
        method: 'post',
        data
    })
}

/**
 * 删除用户
 * @param {Number} id - 用户ID
 */
export function deleteUser(id) {
    return request({
        url: `/user/${id}`,
        method: 'delete'
    })
}

/**
 * 批量删除用户
 * @param {Array<Number>} ids - 用户ID数组
 */
export function deleteUserBatch(ids) {
    return request({
        url: '/user/del/batch',
        method: 'post',
        data: ids
    })
}

/**
 * 分页查询用户（带角色和部门）
 * @param {Object} params - { pageNum, pageSize, name, dept }
 */
export function getUserPage(params) {
    return request({
        url: '/user/page',
        method: 'get',
        params
    })
}
